﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using EA.DTO;
using EA.DAO;
using System.Data;
using EA.Common;
namespace EA.BA
{
    public class ProductCategoryBA: ObjectBA
    {
        public List<ProductCategoryTO> GetAllProductCategory()
        {
            List<ProductCategoryTO> list = new List<ProductCategoryTO>();
            ProductCategoryDA productCategoryDA = new ProductCategoryDA(ObjectBA.ConnectionString);
            DataTable table = productCategoryDA.GetListProductCategorry();
            for (int i = 0; i < table.Rows.Count; i++)
            {
                ProductCategoryTO productCategoryTO = new ProductCategoryTO();
                productCategoryTO.ID=(int)table.Rows[i]["ID"];
                productCategoryTO.Name=table.Rows[i]["Name"].ToString();
                productCategoryTO.CreateDate=(DateTime)table.Rows[i]["CreateDate"];
                productCategoryTO.UpdateDate = Converts.getValueDateTime("UpdateDate",i,table);
                productCategoryTO.Status=(int)table.Rows[i]["Status"];
                list.Add(productCategoryTO);
            }
            return list;
        }

        public ProductCategoryTO GetProductCategoryByID(int ID)
        {
            ProductCategoryTO productCategory = new ProductCategoryTO();
            ProductCategoryDA productCategoryDA = new ProductCategoryDA(ObjectBA.ConnectionString);
            DataTable table = productCategoryDA.GetProductCategoryByID(ID);
            if (table.Rows.Count != 0)
            { 
                productCategory.ID=(int)table.Rows[0]["ID"];
                productCategory.Name=table.Rows[0]["Name"].ToString();
                productCategory.Status = Convert.ToInt32(table.Rows[0]["Status"].ToString());
            }
            return productCategory;
        }

        public Boolean InsertProductCategory(ProductCategoryTO productCategory)
        {
            ProductCategoryDA productCategoryDA = new ProductCategoryDA(ConnectionString);
           return productCategoryDA.InsertProductCategory(productCategory);
        }

        public Boolean DeleteProductCategory(int ID, int status)
        {
            ProductCategoryDA productCategoryDA = new ProductCategoryDA(ConnectionString);
            return productCategoryDA.DeleteProductCategory(ID,status);
        }

        public Boolean UpdateProductCategory(ProductCategoryTO productCategory)
        {
            ProductCategoryDA productCategoryDA = new ProductCategoryDA(ConnectionString);
            return productCategoryDA.UpdateProductCategory(productCategory);
        }
    }
}
